package org.dromara.third.convert.enterprise.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * 设备检维修信息数据传输对象（DTO）
 * 用于封装设备检维修相关的信息数据
 */
@Data
public class EquipmentRepairDTO {

    /**
     * 34. 雪花主键
     * 说明：全局唯一标识，采用雪花算法生成的Long类型ID
     */
    private Long id;

    /**
     * 35. 设备名称
     * 说明：被检维修设备的名称，不可为空
     */
    private String sbmc;

    /**
     * 36. 设备位号
     * 说明：设备的位号标识，不可为空
     */
    private String sbwh;

    /**
     * 37. 计划检维修日期
     * 说明：计划进行检维修的日期，格式为yyyy-MM-dd，不可为空
     */
    private Date jhrq;

    /**
     * 38. 实际检维修日期
     * 说明：实际执行检维修的日期，格式为yyyy-MM-dd，不可为空
     */
    private Date sjrq;

    /**
     * 39. 检维修类型
     * 说明：0-正常检修，1-超期检修，不可为空
     */
    private byte bylx;

    /**
     * 40. 检修项目
     * 说明：检维修的具体项目内容，不可为空
     */
    private String byxm;

    /**
     * 41. 所属部门
     * 说明：设备所属的部门，不可为空
     */
    private String ssbm;

    /**
     * 42. 状态
     * 说明：0-完成，1-超期未检修，不可为空
     */
    private byte sbzt;

    /**
     * 43. 负责人
     * 说明：负责检维修工作的人员，不可为空
     */
    private String byr;

    /**
     * 44. 删除标志
     * 说明：0-正常（未删除），1-已删除，不可为空
     */
    private String delFlag;

    /**
     * 45. 创建时间
     * 说明：数据创建时间，格式为yyyy-MM-dd HH:mm:ss，不可为空
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 46. 创建人名称
     * 说明：数据创建者的姓名，不可为空
     */
    private Long createBy;

    /**
     * 47. 最后修改时间
     * 说明：数据最后更新时间，格式为yyyy-MM-dd HH:mm:ss；新创建数据与createTime相同，不可为空
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    /**
     * 48. 更新人名称
     * 说明：数据最后更新者的姓名，不可为空
     */
    private Long updateBy;
}
